<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>类静态块</title>
</head>

<body>
    ES13 允许在创建类时定义只执行一次的静态块，这类似于其他支持面向对象编程的语言（如 C# 和 Java）中的静态构造函数。
    <br />一个类的类主体中可以有任意数量的静态 {} 初始化块，它们将与任何交错的静态字段初始值设定项一起按照声明的顺序执行，
    <br />我们可以在静态块中使用超属性来访问超类的属性。
    <hr />
    作者：广州蓝景实训部
    链接：https://www.zhihu.com/question/24692840/answer/2621670010
    来源：知乎
    著作权归作者所有。商业转载请联系作者获得授权，非商业转载请注明出处。
    <script>
        class Vehicle {
            static defaultColor = 'blue';
        }
        class Car extends Vehicle {
            static colors = [];
            static {
                this.colors.push(super.defaultColor, 'red');
            }
            static {
                this.colors.push('green');
            }
        }
        console.log(Car.colors); // [ 'blue', 'red', 'green' ]

    </script>
</body>

</html>